====== [TUTORIEL][BROUILLON] Ubuntu 10.10 + Kinect + OpenNI (Sensor + APIs) ======

<note important>La Kinect de Microsoft est prévue pour fonctionner sur les consoles Xbox 360 et 360S. Son usage sur une autre plateforme, risque d'endommager votre matériel et votre système !</note>

<note help>**Ce tutoriel s'appuie sur d'autres sources :**
  * Ce [[http://upinstall.passion-xbmc.org/tutoriels-linux/installation-kinect-openni-nite/|tutoriel]] sur le forum **Passion XBMC**
  * Ce [[http://www.keyboardmods.com/2010/12/howto-kinect-openninite-skeleton.html|tutoriel]] **(En anglais)**, sur **Keyboardmods**
  * Ce [[http://www.felix-huelsmann.de/Blog/MSKinectmitopenNIunterUbuntuLinux.php|complément]] **(En allemand)**
  * Les **informations** et la **documentation** trouvées sur le site de l'éditeur, [[http://www.openni.org/|OpenNI]].
  * Le [[http://wiki.openni.org/mediawiki/index.php/Main_Page|wiki]] OpenNI : 
</note>


===== Pré-requis =====

Les Packages suivants sont nécessaires :  **build-essential**, **git-core**, **libglut3-dev**, **doxygen**, **graphviz**

<code>sudo apt-get install build-essential git-core libglut3-dev doxygen graphviz</code>

===== Installation du FrameWork OpenNI =====

<note tip>Le Framework OpenNI (les API) et les pilotes **(Sensor)** sont en licence GNU GPL</note>

* Creation de l'environnement de travail (par défaut, dans /home/[user]/)

<code>mkdir ~/kinect && cd ~/kinect</code>

* Récupération des fichiers avec git

<code>git clone https://github.com/OpenNI/OpenNI.git</code>

Compilation et installation
<note tip>
Les paramètres de compilation sont en SSE3, par défaut. Si votre architecture (CPU) n'est pas récente (<2004), faites :
<code>cat /proc/cpuinfo</code>
Si, dans les flags vous voyez **sse3** ou **msse3**, vous n'avez pas a changer les paramètres de compilation. En revanche si vous ne voyez que **sse2**, vous pourrez compiler avec les paramètres SSE2 pour utiliser les API et le sensor avec une architecture ne supportant pas le SSE3. En revanche, pour l'usage de NITE, la compilation SSE3 est indispensable (fonctions SIMD), voir [[http://wiki.openni.org/mediawiki/index.php/Main_Page|wiki]] et plus bas</note>
<code>cd OpenNI/Platform/Linux-x86/Build</code>
<code>make && sudo make install</code>


===== Installation du Sensor OpenNI =====

<code>cd ~/kinect/</code>

     * Récupération des fichiers evec git
<code>git clone https://github.com/boilerbots/Sensor.git</code>
<code>cd Sensor</code>

Mise à jour de l'index git
<code>git checkout kinect</code>
<code>cd Platform/Linux-x86/Build</code>

Compilation et installation
<code>make && sudo make install</code>
<note tip>Les paramètres de compilation restent inchangés : le fichier **CommonMakefile** est remonté dans /usr/include/ni/</note>

===== Brancher la Kinect =====

<note tip>Le branchement sur le PC, se fait comme sur les 360 : **USB + Alimentation** (A la différence du branchement sur la 360S; en **USB** uniquement)</note>

===== Utilisation =====

<code>cd ~/kinect/OpenNI/Platform/Linux-x86/Bin/Release/</code>

<code>sudo ./NiViewer</code>

Pour l'usage clavier voir le wiki [[http://wiki.openni.org/mediawiki/index.php/Main_Page|ici]]

==== Compiler en SSE2 ====

<note important>Uniquement si votre CPU n'est pas compatible SSE3</note>

lire le README :
<code>gedit ~/kinect/OpenNI/README</code>

  * Pour compiler en utilisant le SSE2 :
<code>sudo gedit ~/kinect/Platform/Linux-x86/Build/CommonMakefile</code>
     * Changer 
	SSE_GENERATION = 3

     * Par 
	SSE_GENERATION = 2


 ===== Voir Aussi =====

Le [[http://doc.ubuntu-fr.org/kinect_openni_nite|tutoriel]] pour activer le **HandTracking** et **SkeletonTracking** (reconnaissance des mains et du corps) avec NITE



{{tag>10.10 maverick tutoriel Kinect BROUILLON}}